﻿using System;
using System.Windows.Forms;

using Storm.TextEditor.Parser.Objects;

namespace Storm.TextEditor.Editor
{
    /// <summary>
    /// Holds information on RowMouse events.
    /// </summary>
    public class RowMouseEventArgs
        : EventArgs
    {
        #region Fields

        private int mouseX;
        private int mouseY;

        private Row row;
        private MouseButtons button;
        private RowArea area;

        #endregion

        #region Properties

        /// <summary>
        /// Gets or sets the mouse X.
        /// </summary>
        /// <value>The mouse X.</value>
        public int MouseX
        {
            get { return mouseX; }
            set { mouseX = value; }
        }

        /// <summary>
        /// Gets or sets the mouse Y.
        /// </summary>
        /// <value>The mouse Y.</value>
        public int MouseY
        {
            get { return mouseY; }
            set { mouseY = value; }
        }

        /// <summary>
        /// Gets or sets the row.
        /// </summary>
        /// <value>The row.</value>
        public Row Row
        {
            get { return row; }
            set { row = value; }
        }

        /// <summary>
        /// Gets or sets the button.
        /// </summary>
        /// <value>The button.</value>
        public MouseButtons Button
        {
            get { return button; }
            set { button = value; }
        }

        /// <summary>
        /// Gets or sets the area.
        /// </summary>
        /// <value>The area.</value>
        public RowArea Area
        {
            get { return area; }
            set { area = value; }
        }

        #endregion

        /// <summary>
        /// Initializes a new instance of the <see cref="RowMouseEventArgs"/> class.
        /// </summary>
        public RowMouseEventArgs()
        {
        }
    }
}
